// characters模板
class CommentsInfo {
    // 传入mongoose对象
    constructor(mongoose) {
        this.mongoose = mongoose
        this.Schema = mongoose.Schema
        // CharactersInfo
        this.CommentInfo = new this.Schema({
            id: Number,              // 什么内容的(比如某张cos图)的id
            contents: String,        // 内容 
            createTime: Date,        // 创建时间
            userId: String,     // 评论者id 
            avatar: String,
            coachId: String,
            termId: Number,
            imgsUrl:Array,
        })
        this.modal = this.mongoose.model('Comment', this.CommentInfo)
    }
    // 返回查询结果
    // @paras1 查询的id 
    CommentsFind(body) {
        // 根据id查询评论 时间排序前8条
        if (body.coachId) {
            return this.modal.find({ coachId: body.coachId }).sort({ id: 1 }).skip(10 * body.page).limit(10)
        } else {
            return this.modal.find({ termId: body.termId }).sort({ id: 1 }).skip(10 * body.page).limit(10)
        }
    }
    // 增加删除 评论 
    // @paras1 增加的id 评论内容
    addComment(body) {
        if(body.imgUrl===''){
            let comment = new this.modal({
                id:body.id,              // 什么内容的(比如某张cos图)的id
                contents: body.contents,        // 内容 
                createTime: new Date(),        // 创建时间
                userId: body.userId,     // 评论者id 
                avatar: body.avatar,
                coachId: body.coachId,
                termId: body.termId,
            })
            return comment.save()
        }else {
            return this.modal.updateOne({ id: body.id }, { $push:{imgsUrl:body.imgUrl} })
        }
        
    }
    // // 增加评论数
    // addCommentNumber(toCommmentId) {
    //     return this.modal.updateOne({ commentId: toCommmentId }, { $inc: { commentNumber: 1 } }, (err, data) => {
    //         if (err) { console.log(err) }
    //         else { return null }
    //     })
    // }
    // // @paras1 删除的id
    // delComments(commentId) {
    //     // findAndModify强调原子性 也就是获取然后增加 这类很好 自然速度不如update快
    //     return this.modal.deleteOne({ commentId: commentId }, (err, data) => {
    //         if (err) { console.log(err) }
    //         else { return null }
    //     })
    // }
    // // 评论点赞 在该评论的priasePeople中加入点赞id
    // // @paras1 点赞评论的id
    // // @paras2 点赞者的id
    // priase(commentId, priaseId) {
    //     return this.modal.updateOne({ commentId: commentId, priasePeople: { $ne: priaseId } }, { $push: { priasePeople: priaseId }, $inc: { priaseNumber: 1 } }, (err, data) => {
    //         if (err) { console.log(err) }
    //         else {
    //             return null
    //         }
    //     })
    // }
    // // 取消点赞
    // cancelPriase(commentId, priaseId) {
    //     return this.modal.updateOne({ commentId: commentId }, { $pull: { priasePeople: priaseId }, $inc: { priaseNumber: -1 } }, (err, data) => {
    //         if (err) { console.log(err) }
    //         else { return null }
    //     })
    // }
}
module.exports = CommentsInfo

// curl -X POST --data "id=2&contents=1231&priaseNumber=0&commenterId=3023704769&toCommenterId=3023704769&commenterHeader=/img/1.png&commenterNme=raintoway" http://127.0.0.1/api/commentsInfo
